package com.framework.exception.menu;

/**
 * 响应code枚举类
 * @author ck
 *
 * @date 2018年2月28日下午4:35:05
 */
public enum RespCode {
    /** 成功. */
    SUCCESS("0000", "成功"),

    IS_SQL_INJECTION("0001", "输入参数存在SQL注入风险"),

    UNVALIDATED_INPUT("0002", "输入参数含有非法字符"),

    JWT_ERRCODE_FAIL("1000", "Token验证不通过"),

	JWT_ERRCODE_EXPIRE("0010", "Token已经失效"),

    ERROR_TOKEN("0011", "Token不能为空"),

    /** 帐号未登录. */
    USER_NOT_LOGIN_ERROR("0004", "账号未登录或者登录状态已经失效"),

    ERROR_ENCRYPTION("0005","加密编码排序错误"),

    ENCRYPTION_ERROR("0006","接口加密错误，非法请求"),

	ERROR_REQUEST_OVER_TIME("0014","请求链接已过时"),

	ERROR_REQUEST_ENCRYPTION("0015","非法请求，请求时间错误"),

	NOT_DEFAULT_ADDRESS("1001","未查询到收货地址"),

	NOT_PARAM_ERROR("9000","参数不能为空"),

	ERROR_USER_STOP("1000","您的账户已经被禁用"),

    REPEAT_REQUEST("0016","重复请求"),

	UNKNOWN_ERROR("9999","服务端错误，请联系管理员");



    /** 响应Code. */
    private String code;
    /** 响应消息. */
    private String msg;

    /**
     * 构造方法.
     * @param code 响应Code
     * @param msg 响应消息
     */
    RespCode(String code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    /**
     * 转换成字符串（Json格式）.
     */
    @Override
    public String toString() {
        StringBuffer buf = new StringBuffer();
        buf.append("{");
        buf.append("\"code\":").append(code).append(",");
        buf.append("\"msg\":\"").append(msg).append("\"");
        buf.append("}");
        return buf.toString();
    }

    /**
     * 获得响应Code.
     * @return 响应Code
     */
    public String getCode() {
        return code;
    }

    /**
     * 获得响应消息.
     * @return 响应消息
     */
    public String getMsg() {
        return msg;
    }
}
